اموزش پایگاه داده
 
آموزش کامپیوتر
برنامه نویسی و شبکه
 
شنبه 6 اسفند 1390برچسب:, :: 21:51 ::  نويسنده : علی

a
Database
منبع پايگاه همكاران سيستم
پايگاه داده ( ) چيست ؟ Database
پايگاه داده يك وسيله الكترونيكي جهت ذخيره داده ( Data ) بصورت سازمان يافته است . پس از اينكه داده ها
در پايگاه داده ذخيره شد اين داده ها قابل بازيابي ، پرادزش مي باش ن د و امكان توليد اطلاعات
( ) از داده ها وجود دارد. Information
فايل هاي تخت در مقابل پايگا ه هاي داده رابط ه دار (Flat File) (Relational Database)
ابتدايي ترين سطح پايگاه داده ها فايل ها تخت هستند كه داده ها تنها در يك فايل ذخيره مي شوند .درنظر
بگيرد كه ي ك صفحه اكسل را باز كرده ايد و اطلاعات زير را در آن وارد ساخته ايد . با اين كار شما يك ديتا
( بيس تخت ايجاد كرده ايد. ( شكل 1
به قسمت هاي خاكستري رنگ تو ج ه كنيد داده هاي تكراري در فايل به چشم مي خورند . اين فايلهاي تخت دو
مشكل اسا سي دارند :
2
-1 تكرر داده ها
-2 مشگلات نگهداري پايگاه داده
براي رفع اين مشكلات مي توانيد از پايگاه داده رابطه دار بهره بگيرد . اين نوع پايگاه داد ه ها اطلاعات را در
جداول 1مجزا نگ هداري مي كنن د . براي مثال مي توان اطلاعات فوق را در جداول مشتري ، سفارش و اقلام
( سفارش نگاه داشت و فيلدهاي هر جدول به صورت زير است : ( شكل 2
بنابراين اط لاعاتي نظير كد مشتري ، نام مشتري ، نام خانوادگي مشتري ، آدرس مشتري ، شهر مشتري ، ايالت
مشتري و ... در جدول مشتري قرار مي گيرد.
شماره سفارش ، كد مشتري ، تاريخ سفارش در جدول سفارشات قرار مي گيرد.
شماره قلم سفارش ، شماره سفارش ، توضيح سفارش ، مقدار سفارش ، قي مت قلم و واحد آن در جدول اقلام
سفارش قرار مي گيرد.
براي استفاده از اين جداول بايد بين آنها ارتباط برقرار شود كه اين موضوع در ادامه مورد بررسي قرار خواهيم
داد.
3
تعيين نيازمنديهاي يك پايگاه داده
قبل از آنكه پايگاه داده طراحي شود بايد نيازمنديهاي آن را معين كنيم . براي تشخيص نيازهاي پايگاه داده يك
سازمان رهنمودهاي زير را در نظر داشته باشيد :
رهنمود 1 : پايگاه داده هاي موجود را به دقت بررسي كنيد.
رهنمود 2 : با تك تك كاربران مصاحبه كنيد
رهنمود 3 : از فرمهاي شركت كپي تهيه كنيد
رهنمود 4 : به دقت گزارش هاي موجود را بررسي كرده اند نيازهاي گزارشي را نيز مد نظر قراردهيد.
تعيين اطلاعاتي كه بايد رديابي شود
پس از مصاحبه با افراد سازمان شما بايد اطلاعاتي كه بايد رديابي شود را مشخص كنيد .فرض كنيد در يك
( سازمان به يك ليستي مانند ليست زير دست پيدا كرديد ( شكل 3
تعيين طراحي منطقي پايگاه داده
پس از شناسايي نيازها شما بايد طرح اوليه و پيش نويس پايگاه داده ها را تهيه كنيد . در واقع قبل از اينكه آنرا
بصورت الكتر ونيكي ايجاد كنيد روي يك كاغذ نقشه اوليه آنرا مي كشيد به اين كار اصطلاحا طراحي منطقي
پايگاه داده مي گويند. (Logical Database Design)
4
تعريف جدول ها ( موجوديت ها) و فيلدها ( ويژگيها)
اولين قدم در طراحي منطقي پايگاه داده تعريف جداول است كه موجوديت نيز ناميده مي شود . جدولها گروه
( هاي مرتبطي از اطلاعات مي باشند. به مثال قبل در مورد سفارش و مشتري دقت نماييد ( شكل 4
فيلدها كه ويژگي نيز ناميده مي شوند در واقع عنصر اسا سي جدولها هستند . مانند فيلد نام مشتري يا آدرس
مشتري در جدول مشتري .
هويت دادن به جدول ها و فيلدها
پس از تعيين جداول و فيلدها بايد به آنها هويت بخشيد . نمونه اي از آنها را مشخص نمود ونوع هر فيلد را
تعيين كرد . براي اين كار مي توانيد از ل يستي كه قبلا تهيه كرديد (شكل 3 ) كمك بگيرد . براي مثال در شكل
5 نمونه اي از اين جدول آمده است:
براي مثال در جدول كالا شرح كالاي 12345 ، توفا (Tofa) مي باشد. اين فيلد از نوع داده متني مي باشد
و تخمين ما اين است كه اين شرح حداكثر 25 كاراكتر خواهد بود.
5
12345 ، جان ا ي .دويي مي باش د . اين فيلد از نوع داده متني مي باشد و يا در جدول مشتري نام مشتري 6
تخمين ما اين است كه اين شرح حداكثر 45 كاراكتر خواهد بود.
6
و سرانجام فيلدهاي جدول سفارش مانند شكل فوق خواهد بود.
تعيين كليد اصلي (Primary Key)
كليد اصلي يك فيلد يا مجموعه اي از فيلدها است كه يك ركورد در جدول را يكتا (Record)(Unique) مي كنند. براي مثال در جدول مشتري شماره مشتري يك كليد اصلي مي باشد. هر مشتري يك
شماره دارد و هر مشتري نشان دهنده يك هويت است
يك در جدول سفارش ، شماره سفارش كليد اصلي ميباشد. هيچ دو سفارشي يك شماره مشابه نخواهند داشت.
تعيين كليد خارجي يا كليد مرتبط كننده ( Foreign Key)
كليد خارجي يك فيلد يا مجموعه اي از فيلدها است كه يك جدول را به كليد اصلي جدول ديگر مرتبط مي
سازد بنا براين اين دو جدول مرتبط مي شوند . براي مثال شماره مشتري و شماره كالا كليدهاي اصلي جداول
مشتري وكالا مي باشند كه به عنوان كليد خارجي در جدول سفارش عمل مي كنند. به شكل 6 دقت نماييد.
تعريف روابط در پايگاه داده
به مثال مشتري ، كالا و سفارش كالا برميگرديم .ميتوان گزاره هاي زير را بيان كرد :
يك سفارش مي تواند شامل چند كالا باشد
يك سفارش تنها به يك مشتري مربوط است
هر مشتري مي تواند چندين سفارش داشته باشد
به زبان پايگاه داده ، اين گزاره ها روابط ميان جدولها را بيان مي كنند . اين روابط را مي توان در نمو دار
( موجوديت ها نمايش داد ( شكل 7 (ERD)
7
روابط ميان موجوديت ها مي توان به 3 صورت باشد :
-1 يك به يك (One to One )
-2 يك به چند (One to Many )
-3 چند به چند (Many to Many)
در ادامه به تشريح هريك از اين روابط مي پردازيم
رابطه يك به يك
رابطه يك به يك مشابه تناظر يك به يك در رياضيات است . دراين نوع از رابطه، هر ركورد از جدول اول تنها
و تنها با يك ركورد در جدول دوم رابطه دارد . براي مثال فرض كني د اطلاعات هر مشتري 100 فيلد دارد و
پايگاه داده ما اين تعداد فيلد را پيشتيباني نمي كند بنابراين بخشي از اطلاعات مشتري را در جدولي بنام
قرار مي دهيم .اين جدول با جدول Customer CustomerDetial رابطه يك به يك دارد. فيلدي
كه اين دو جدول را بهم مرتبط مي سازد فيلد Customernumber
8
( مي باشد. (شكل 8
به اعداد 1 و 1 روي خط مرتبط كننده دقت كنيد. اين نشان دهنده رابطه يك به يك است.
رابطه يك به چند
دراين نوع ا ز رابطه هر ركورد از جدول اول مي تواند با چند ركورد در جدول دوم رابطه داشته باشد . مثال
مشتري و سفارش نمون هاي مناسب براي اين رابطه است. هر مشتري مي تواند چندين سفارش داشته باشد يعني
هر ركورد ( مشتري) از جدول مي تواند با چند ركورد ( سفارش) از جدول Order Customer مرتبط
( باشد (شكل 9
9
به عدد 1 و علامت بي نهايت روي خط مرتبط كننده دقت كنيد اين نشان دهنده رابطه يك به چند است
و اينچنين خوانده مي شود : هر ر كورد از جدول مشتري ميتوان با چند ركورد از جدول سفارش مرتبط
باشد.
رابطه چند به چند
اينجاست كه دنيا آشفته و پيچيده مي شود . دراين نوع از رابطه هر ركورد از جدول اول مي تواند با چند ركورد
در جدول دوم رابطه داشته باشد و بالعكس.
اما چگونه مي توان اين پيچيدگي و آشفتگي را حل كرد ؟
با استفاده از يك جدول سوم يا جدول واسط مي توان اين مشكل را برطرف نمود.
فرض كنيد كه يك سيستم كاربران زيادي دارد و هر كاربر مي تواند نقش هاي (Role)(User) متفاوتي
داشته باشد به عبارت ديگر :
هر كاربر مي تواند چند نقش داشته باشد
هر نقش مي تواند به چند كاربر مربوط باشد
براي ارتباط برقرار كردن ميان دو جدول كابران و نقش ها (Roles)(Users) جدول واسطي ميان اين دو
جدول بنام نقش كاربران (Userroles) ايجاد مي كنيم. اكنون هر دو جدول كاربران و نقش ها با اين
جدول رابطه يك به چند دارن د . بنابراين يك رابطه چند به چند را به دو رابطه يك به چند تبديل نموديم :
( (شكل 10
به زبان ديگر :
Many to Many = One to Many + One to Many 10
به اطلاعات اين جداول دقت نماييد :
يكپارچگي ارجاع ( )IntegrityReferential
با ايجاد رابطه ميان جدوال از مزيتي بنام يكپارچگي ارجاعي استفاده مي كنيم . مزيت يكپارچگي بطور خلاصه
به موارد زير اشاره دارد :
-1 به روز رساني آبشاري : يعني هر گاه فيلد كليدي در يگ جدول تغيير كرد اين تغيير بايد در جدوال ديگر
كه از طريق اين فيلد با جدول مربوطه در ارتباطند نيز اعمال گردد.
-2 حذف آبشاري : يعني هر گاه قرار است فيلد كليدي از يگ جدول حذف شود بايد اطمينان حاصل شود
كه در تمام جدوال مرتبط حذف صورت پذيرفته است.
11
توجه داشته باشيد كه يكپارچگي ارجاعي اگرچه معمولا يك مزيت بشمار مي رود ولي گاهي اوقات
مساله ساز نيز مي شود.
نرمال سازي ( ) Normalization
ساختن يك پايگاه داده مانند ساختن يك خانه است . آيا براي ساختن يك خانه دانستن تعداد اتاق هاي مورد
نياز كافي است و يا اينكه بايد به پارامترهاي ديگر نيز توجه داشت تا بتوان نقشه اي بهينه براي خانه تهيه كرد .
نرمال سازي در واقع فرايند تهيه طرح بهينه براي يك پايگاه داده است .نرمال سازي مراحلي دارد و بايد به يك
قانون توجه داشت :
هرچه در مرحله بالاتري از نرمال سازي باشيد پايگاه داده شما طرح و ساختاري كاراتر خواهد داشت.
نرمال سازي سطح اول( ) First normal form
در نرمال سازي سطح اول گروه هاي تكراري را حذف نماييد.
اين گروههاي تكراري ميتوانند دو حالت را در بر مي گيرند :
-1 در يك فيلد داده هاي زياد و طولاني قرار مي گيرد.
-2 دو فيلد مشابه وجود دارد.
براي مثال جدول مشتري را در نظر بگيرد )
12
( شكل 11
در اين جدول به فيلد آدرس مشتري Customer Address توجه كنيد. اطلاعات زيادي در اين فيلد
قرار مي گيرند و عملا قابليت بازيابي اطلاعات كاهش مي يابد . اين فيلد را مي توان به پنج فيلد آدرس
( مشتري ، شهر مشتري ، استان مشتري ، كد پستي و كشور مشتري تقسيم نمود. (شكل 12
13
اكنون به جدول سفارشات توجه نماييد ( شكل 13 ) . در اين جدول فيلدهاي تكراري مانند شماره ، قيمت و
مقدار كالا وجود دارد.
14
براي نرمال كردن اين جدول فيلدي تحت عنوان شماره سفارش به جدول اضافه مي كنيم و فيلدهاي اضافه را
حذف مي كنيم :
اين اطلاعات در جدول بصورت زير خواهند بود .
15
16
 



نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:





درباره وبلاگ

به وبلاگ اموزشی من خوش آمدید
موضوعات
آخرین مطالب
آرشيو وبلاگ
پيوندها

تبادل لینک هوشمند
برای تبادل لینکََ  ابتدا ما را با عنوان < SPAN lang=en-us>آموزشی و آدرس parsi70.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان


ورود اعضا:


نام :
وب :
پیام :
2+2=:
(Refresh)

<-PollName->

<-PollItems->

خبرنامه وب سایت:

برای ثبت نام در خبرنامه ایمیل خود را وارد نمایید




آمار وب سایت:
 

بازدید امروز : 1
بازدید دیروز : 0
بازدید هفته : 1
بازدید ماه : 3
بازدید کل : 9273
تعداد مطالب : 4
تعداد نظرات : 1
تعداد آنلاین : 1